#include<bits/stdc++.h>
using namespace std;
int s,e;
queue <int> q;
int main(){
	int map[100002];
	for(int i=0;i<100001;i++){
		map[i]=100000;
	}
	cin>>s>>e;
	map[s]=0;
	q.push(s);
	while(!q.empty()){
		int t=q.front();
		q.pop();
		if(t==e){
			cout<<map[t];
			return 0;
		}
		int a=t+1;
		if(a<=100000&&map[a]==100000){
			map[a]=map[t]+1;
			q.push(a);
		}
		int b=t-1;
		if(b>=0&&map[b]==100000){
			map[b]=map[t]+1;
			q.push(b);
		}
		int c=t*2;
		if(c<=100000&&map[c]==100000){
			map[c]=map[t]+1;
			q.push(c);
		}
	}
}
